package nc.itf.hrppl.pjapplication;

import nc.vo.hrpbm.budgetadjust.AggBudgetAdjustVO;
import nc.vo.hrpbm.budgetreply.AggBudgetReplyVO;
import nc.vo.hrppl.pjapplication.AggPjapplVO;
import nc.vo.hrppl.proupdate.AggProUpdateHVO;
import nc.vo.pub.BusinessException;

public interface IUapbdFourCGProjectService {
	/**
	 * 预算编制审批通过更新四级采购项目信息
	 * @param vos
	 * @throws BusinessException
	 */
    void updateApproveFourCGProjectCodeAndNameAndMonery(AggPjapplVO[] vos) throws BusinessException;

    /**
     * 项目修订更新四级采购项目信息
     *
     * @param vos
     * @throws BusinessException
     */
    default void revisionOfProjectAdmissionFourCGProjectCodeAndNameAndMonery(AggPjapplVO[] vos) throws BusinessException {

    }

    /**
	 * 项目调整审批通过回写采购系统四级项目
	 * @param vos
	 * @throws BusinessException
	 */
    void updateApproveTZFourCGProjectCodeAndNameAndMonery(AggProUpdateHVO[] vos) throws BusinessException;
	
	/**
	 * 预算编制取消审批修改四级采购项目信息
	 * @param vos
	 * @throws BusinessException
	 */
    void updateUnApproveFourCGProjectCodeAndNameAndMonery(AggPjapplVO[] vos) throws BusinessException;
	
	/**
	 * 预算调整审批通过修改调整金额
	 * @param vos
	 * @throws BusinessException
	 */
    void  approveUpdateFourCGProjectYSMonery(AggProUpdateHVO[] vos) throws BusinessException;
	/**
	 * 预算调整审批通过修改调整金额
	 * @param vos
	 * @throws BusinessException
	 */
    void  UnApproveUpdateFourCGProjectYSMonery(AggProUpdateHVO[] vos) throws BusinessException;
	
	/**
	 * 结项四级项目
	 * @param vo
	 * @throws BusinessException
	 */
    void  closinitemFourCGProject(AggPjapplVO aggvo) throws BusinessException;
	/**
	 * 取消结项
	 * @param vo
	 * @throws BusinessException
	 */
    void  UnClosinitemFourCGProject(AggPjapplVO aggvo) throws BusinessException;
	
	/**
	 * 预算批复回写采购项目预算金额和最终金额
	 * @param vos
	 * @throws BusinessException
	 */
    void  commitWriteBackFourProjectYSAndZZMonry(AggBudgetReplyVO[] vos) throws BusinessException;
	
	/**
	  *  预算批复回写清空采购项目预算金额和最终金额
	 * @param vos
	 * @throws BusinessException
	 */
    void  uncommitWriteBackFourProjectYSAndZZMonry(AggBudgetReplyVO[] vos) throws BusinessException;
	 
	 /**
	  *  修改项目申请
	  *  预算调整回写采购项目调整金额和最终金额
	  * @param vos
	  * @throws BusinessException
	  */
     void  callbackAPPROVEWriteBackFourProjectTZAndZZMonry(AggBudgetAdjustVO[] vos) throws BusinessException;

}
